package com.mall.untils;

import java.text.SimpleDateFormat;  
import java.util.Date;  
  

import org.apache.log4j.FileAppender;  
import org.apache.log4j.Level;  
import org.apache.log4j.Logger;  
import org.apache.log4j.PatternLayout;  

/**
 * 根据不同的日志类型，打印不同路径下的yyyyMMdd.log格式日志,例如./logs/flume/playerLogin/20141111.log
 */
public class LoggerUtil {
	
	 public static Logger getLogger(Class<?> clazz) {  
		  
        Logger logger = Logger.getLogger(clazz); // 生成新的Logger  
        logger.removeAllAppenders(); // 清空Appender，特別是不想使用現存實例時一定要初始化  
        logger.setLevel(Level.INFO); // 设定Logger級別。  
        logger.setAdditivity(false); // 设定是否继承父Logger。默认为true，继承root输出；设定false后将不输出root。  
  
        FileAppender appender = new DailyRollingFileAppender(); // 生成新的Appender
        appender.setBufferedIO(true);
        appender.setBufferSize(8192);
        PatternLayout layout = new PatternLayout();  
        layout.setConversionPattern("%m%n"); // log的输出形式  
        appender.setLayout(layout);
        String fileName = DateUtils.getDateFormat("yyyyMMdd")+".log";
        //文件保存目录
        String filePath  = PropertiesUtil.getProperties("fileLocalPath")+fileName;
        appender.setFile(filePath); // log输出路径  
        appender.setEncoding("UTF-8"); // log的字符编码  
        appender.setAppend(true); // 日志合并方式： true:在已存在log文件后面追加 false:新log覆盖以前的log  
        appender.activateOptions(); // 适用当前配置  
        logger.addAppender(appender); // 将新的Appender加到Logger中  
        return logger;   	 	
    }  
	  
    public static String getTime(String format) {  
        SimpleDateFormat sdf = new SimpleDateFormat(format);  
        return sdf.format(new Date());  
    }  
	   
}


